//
//  StatusModel.swift
//  LCYWeiBo
//
//  Created by 李长友 on 16/9/6.
//  Copyright © 2016年 app. All rights reserved.
//

import UIKit

class StatusModel: NSObject {

    /// 微博创建时间 格式：Tue Sep 06 16:01:56 +0800 2016
    var created_at : String? {
        didSet {
            show_created_at = String.transformCreatedAt(created_at!)
        }
    }
    /// 显示的微博创建时间
    var show_created_at : String?
    /// 微博ID
    var id : Int?
    /// 微博MID
    var mid : Int?
    /// 字符串型的微博ID
    var idstr : String?
    /// 微博信息内容
    var text : String?
    /// 微博来源 格式：<a href="http://app.weibo.com/t/feed/6vtZb0" rel="nofollow">微博 weibo.com</a>
    var source : String? {
        didSet {
            if let source = source where source != "" {
                // 1.1.获取起始位置和截取的长度
                let startIndex = (source as NSString).rangeOfString(">").location + 1
                let length = (source as NSString).rangeOfString("</").location - startIndex
                
                show_source = (source as NSString).substringWithRange(NSRange(location: startIndex, length: length))
            }
            
            /*
            guard let startIndex = text?.rangeOfString(">")?.startIndex else {
                return
            }
            guard let endIndex = text?.rangeOfString("</")?.startIndex else {
                return
            }
            
            showSource = text?.substringWithRange(Range(startIndex..<endIndex))
             */
            
        }
    }
    /// 显示的微博来源
    var show_source : String?
    /// 是否已收藏，true：是，false：否
    var favorited : Bool?
    /// 是否被截断，true：是，false：否
    var truncated : Bool?
    /// （暂未支持）回复ID
    var in_reply_to_status_id : String?
    /// （暂未支持）回复人UID
    var in_reply_to_user_id : String?
    /// （暂未支持）回复人昵称
    var in_reply_to_screen_name : String?
    /// 缩略图片地址，没有时不返回此字段
    var thumbnail_pic : String?
    /// 中等尺寸图片地址，没有时不返回此字段
    var bmiddle_pic : String?
    /// 原始图片地址，没有时不返回此字段
    var original_pic : String?
    /// 地理信息字段 详细
//    var geo	object
    /// 微博作者的用户信息字段 详细
    var user : UserModel = UserModel()
    /// 被转发的原微博信息字段，当该微博为转发微博时返回 详细
    var retweeted_status : StatusModel?
    /// 转发数
    var reposts_count : Int = 0
    /// 评论数
    var comments_count : Int = 0
    /// 表态数
    var attitudes_count : Int = 0
    /// 暂未支持
    var mlevel : Int?
    /// 微博配图url数组
    var pic_urls : [[String : String]]? {
        didSet {
            
            guard pic_urls!.count != 0 else {
                return
            }
            
            for urlDic in pic_urls! {
                guard let urlString = urlDic["thumbnail_pic"] else {
                    continue
                }
                show_pic_urls.append(NSURL(string: urlString)!)
            }
        }
    }
    var show_pic_urls : [NSURL] = []
    /// 微博的可见性及指定可见分组信息。该object中type取值，0：普通微博，1：私密微博，3：指定分组微博，4：密友微博；list_id为分组的组号
//    var visible	object
    /// 微博配图ID。多图时返回多图ID，用来拼接图片url。用返回字段thumbnail_pic的地址配上该返回字段的图片ID，即可得到多个图片url。
//    pic_ids	object
    /// 微博流内的推广微博ID
    //    var ad	object array
    
    func setValueWithDictionary(dictionary: [String : AnyObject]) {
        
        setValuesForKeysWithDictionary(dictionary)
        
        if let userDict = dictionary["user"] as? [String : AnyObject] {
            self.user = UserModel()
            self.user.setValueWithDictionary(userDict)
        }
        
        if let retweeted_status = dictionary["retweeted_status"] as? [String : AnyObject] {
            self.retweeted_status = StatusModel()
            self.retweeted_status?.setValueWithDictionary(retweeted_status)
        }
        
    }
    
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
    
    
    
    
}
